package com.ygj.ticketManage.service;

import com.base.common.entity.AllCondition;
import com.base.common.persistent.model.Ticket;
import com.cjy.common.bean.Files;
import com.cjy.userReport.service.base.TicketBaseService;

import java.util.List;

/**
 * 工单管理service
 * 
 * @author Kevin Colin
 * @datetime 2015年8月4日下午4:39:19
 * 
 */
public interface TicketManageService extends TicketBaseService {

	/**
	 * 给新的工单指定员工进行后续处理
	 * 
	 * @param ticketIds
	 * @param employeeIds
	 * @param categories
	 * @return
	 */
	int distributeEmployeeForTicket(String[] ticketIds, String[] employeeIds,
									int categories);

	/**
	 * 分配工单
	 * 
	 * @param ticketId
	 * @param distributeInfos
	 * @return
	 */
	int distributeTickets(String[] ticketId, List<String> distributeInfos);

	/**
	 * 完成工单
	 * @param basePath 
	 * @param files 
	 * @param report 
	 * 
	 * @param split
	 * @return
	 */
	int finishTicketByMySelf(String[] ticketIds, String report, Files files, String basePath);

	/**
	 * 接单
	 * 
	 * @param split
	 * @param employeeId
	 * @return
	 */
	int getTicketByMySelf(String[] ticketIds);

	/**
	 * 根据员工id和工单进度类别分页查询工单列表
	 * 
	 * @param employeeId
	 * @param reportCategories
	 * @param status
	 * @param page
	 * @return
	 */
	List<Ticket> getTicketsByCategoriesAndStatus(int employeeId,
												 AllCondition allCondition);

	/**
	 * 根据员工id和工单进度类别查询工单条数
	 * 
	 * @param id
	 * @param categories
	 * @return
	 */
	int getTicketsPagesByEmployeeIdAndReportCategoriesAndReportStatus(
			int employeeId, AllCondition allCondition);


}
